module beep(
    input               sys_clk,
	input               sys_rst_n,
	
    input               trigger,       // 触发信号，高电平有效
    output reg          beep_en                                 //嗡鸣器使能
    );

// 定义一个计时器，用于控制蜂鸣器的持续时间
// 吃到食物就得分
reg [26:0] beep_timer; // 22位计数器，足以覆盖32MHz时钟下的0.5秒

always @(posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n) begin
        beep_timer <= 0; // 初始化计时器
        beep_en <= 1'b1; 
    end 
	else begin
        if(trigger) //吃到了果果
		begin
            beep_timer <= 26'd64000000; // 设置计时器为0.5秒的计数（32MHz时钟下）
        end 
		else if(beep_timer != 0) 
		begin
    		beep_timer <= beep_timer - 1; // 如果蜂鸣器已经触发，开始倒计时
            beep_en <= 1'b0;       
		end
		else if (beep_timer == 0)
		begin
            beep_en <= 1'b1; 
		end
    end
end



endmodule 
